.site-branding {
  position: relative;
  animation: sitetop 1s;

  & .site-title {
    display: flex;
    margin: 0;

    & a {
      color: var(--body-color);
      font-weight: 400;

      &:hover {
        color: var(--theme-color);
      }
    }

    & img {
      height: 2.5rem;
      width: 2.5rem;
      object-fit: cover;

      &:hover {
        opacity: 1;
      }
    }

    & a,
    & img {
      display: inline-block;
      transition: color 0.2s ease-out, border 0.2s ease-out, opacity 0.2s ease-out;
    }
  }

  @mixin screens-md {
    & .site-title {
      font-size: 1.25rem;
      margin-right: 0.625rem;

      & img {
        height: 2rem;
        width: 2rem;
        border-radius: 100%;
        margin: 0;
        vertical-align: middle;
      }
    }
  }
}

@keyframes sitetop {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}